ssql : main.o Parser.o Interpreter.o SyntaxTree.o SyntaxTreeNode.o Lexer.o Table.o
	g++ -o ssql main.o Parser.o Interpreter.o SyntaxTree.o SyntaxTreeNode.o Lexer.o Table.o -g -w

main.o : main.cpp Parser.h Interpreter.h
	g++ -c main.cpp Parser.h Interpreter.h -g -w
    
Parser.o : Parser.cpp Parser.h common.h Lexer.h  SyntaxTree.h
	g++ -c Parser.cpp Parser.h common.h Lexer.h  SyntaxTree.h -g -w

Interpreter.o : Interpreter.h Interpreter.cpp SyntaxTree.h Table.h
	g++ -c Interpreter.h Interpreter.cpp SyntaxTree.h Table.h -g -w

SyntaxTree.o : SyntaxTree.cpp SyntaxTree.h SyntaxTreeNode.o common.h
	g++ -c SyntaxTree.cpp SyntaxTree.h SyntaxTreeNode.o common.h -g -w

SyntaxTreeNode.o : SyntaxTreeNode.cpp SyntaxTreeNode.h common.h
	g++ -c SyntaxTreeNode.cpp SyntaxTreeNode.h common.h -g -w
    
Lexer.o : Lexer.cpp Lexer.h common.h
	g++ -c Lexer.cpp Lexer.h common.h -g -w

Table.o : Table.h Table.cpp
	g++ -c Table.h Table.cpp -g -w

.PHONY: clean
clean :
	-rm ssql
	-rm *.gch$
	-rm *.o$

